<!DOCTYPE html>
<html lang="en">
    <head>
	<meta name="generator" content="Hugo 0.75.1" />
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta name="format-detection" content="telephone=no" />

  <title>
    迪克猪的博客
  </title>

  
  <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
  <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
  <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
  <link rel="manifest" href="/manifest.json" />
  <meta name="theme-color" content="#ffffff" />

  
  <link
    rel="stylesheet"
    href="https://unpkg.com/modern-normalize@0.6.0/modern-normalize.css"
  />

  
  
  
  
  <link rel="stylesheet" href="https://zsy619.github.io/style.min.f7761d111b74dd5c07f0111decee92938c12abc42e0fd319e1a07483e248b54e.css" integrity="sha256-93YdERt03VwH8BEd7O6Sk4wSq8QuD9MZ4aB0g&#43;JItU4=" />

  
    <link rel="alternate" type="application/rss+xml" href="https://zsy619.github.io/index.xml" title="迪克猪的博客" />
  
  
    
  
</head>

    <body>
        <header id="header">
  <div class="header_container">
    <h1 class="sitetitle">
      <a href="https://zsy619.github.io" title="迪克猪的博客">迪克猪的博客</a>
    </h1>
    <nav class="navbar">
      <ul>
        <li><a href="https://zsy619.github.io">Home</a></li>
        
          <li>
            <a href="/post/">
              
              <span>LINUX性能优化</span>
            </a>
          </li>
        
          <li>
            <a href="/csapp/">
              
              <span>深入理解计算机系统_第三版</span>
            </a>
          </li>
        
          <li>
            <a href="/golang/">
              
              <span>golang</span>
            </a>
          </li>
        
          <li>
            <a href="/docker/">
              
              <span>容器</span>
            </a>
          </li>
        
          <li>
            <a href="/flutter/">
              
              <span>Flutter</span>
            </a>
          </li>
        
          <li>
            <a href="/know/">
              
              <span>知识点</span>
            </a>
          </li>
        
          <li>
            <a href="/categories/">
              
              <span>目录</span>
            </a>
          </li>
        
          <li>
            <a href="/about/">
              
              <span>关于</span>
            </a>
          </li>
        
        <li class="hide-sm"><a href="https://zsy619.github.io/index.xml" type="application/rss+xml">RSS</a></li>
      </ul>
    </nav>
  </div>
</header>

        
<section id="main" class="index">
  <div class="post_list container">
    
    
    <article class="post content">
      <time datetime="2020-05-31T17:16:28&#43;0800" class="date">Sun, May 31, 2020</time>
      <h3 class="title">
        <a href="https://zsy619.github.io/post/35%E5%9F%BA%E7%A1%80%E7%AF%87c10k-%E5%92%8C-c1000k-%E5%9B%9E%E9%A1%BE/" title="35|基础篇：C10K 和 C1000K 回顾">35|基础篇：C10K 和 C1000K 回顾</a>
      </h3>
      <div class="post_content summary">
        C10K 和 C1000K 的首字母 C 是 Client 的缩写。C10K 就是单机同时处理 1 万个请求（并发连接 1 万）的问题，而 C1000K 也就是单机支持处理 100 万个请求（并发连接 100 万）的问题。
        
          <span class="hellip">&hellip;</span>
        
      </div>
    </article>
    
    <article class="post content">
      <time datetime="2020-05-31T12:45:21&#43;0800" class="date">Sun, May 31, 2020</time>
      <h3 class="title">
        <a href="https://zsy619.github.io/post/06%E6%A1%88%E4%BE%8B%E7%AF%87%E7%B3%BB%E7%BB%9F%E7%9A%84cpu%E4%BD%BF%E7%94%A8%E7%8E%87%E5%BE%88%E9%AB%98%E4%BD%86%E4%B8%BA%E5%95%A5%E5%8D%B4%E6%89%BE%E4%B8%8D%E5%88%B0%E9%AB%98cpu%E7%9A%84%E5%BA%94%E7%94%A8/" title="06|案例篇--系统的CPU使用率很高，但为啥却找不到高CPU的应用？">06|案例篇--系统的CPU使用率很高，但为啥却找不到高CPU的应用？</a>
      </h3>
      <div class="post_content summary">
        使用工具 使用top、vmstat、pidstat等
ap（apache bench）是一个常用的http性能测试工具
# 并发100个请求测试Nginx性能，总共测试1000个请求 $ ab -c 100 -n 1000 http://192.
        
          <span class="hellip">&hellip;</span>
        
      </div>
    </article>
    
    <article class="post content">
      <time datetime="2020-05-29T12:45:21&#43;0800" class="date">Fri, May 29, 2020</time>
      <h3 class="title">
        <a href="https://zsy619.github.io/post/05%E5%9F%BA%E7%A1%80%E7%AF%87%E6%9F%90%E4%B8%AA%E5%BA%94%E7%94%A8%E7%9A%84cpu%E4%BD%BF%E7%94%A8%E7%8E%87%E5%B1%85%E7%84%B6%E8%BE%BE%E5%88%B0100%E6%88%91%E8%AF%A5%E6%80%8E%E4%B9%88%E5%8A%9E/" title="05|基础篇--某个应用的CPU使用率居然达到100%，我该怎么办？">05|基础篇--某个应用的CPU使用率居然达到100%，我该怎么办？</a>
      </h3>
      <div class="post_content summary">
        cpu使用率  定义节拍率（内核中用HZ表示），触发时间中断，并使用全局变量Jiffies记录开机以来的节拍率 没发生一次时间中断，Jiffies就增加1 节拍率设置值100、250、1000等，查询/boot/config来查看  表示每秒触发250次中断
 节拍率是内核选项，用户空间程序不能直接访问 用户节拍率USER_HZ默认是100 /proc虚拟文件系统  系统内部状态 /proc/stat提供cpu和任务系统信息     CPU使用率：就是空闲时间外的其他时间占总cpu时间的百分比   每个进程的运行情况：/proc/[pid]/stat  如何查看cpu使用率  top显示系统整体cpu与内存使用情况，以及各个进程资源使用情况 ps显示每个进程的使用情况  cpu使用过高  使用perf分析cpu性能  
        
      </div>
    </article>
    
    <article class="post content">
      <time datetime="2020-05-27T12:25:08&#43;0800" class="date">Wed, May 27, 2020</time>
      <h3 class="title">
        <a href="https://zsy619.github.io/post/04%E5%9F%BA%E7%A1%80%E7%AF%87%E7%BB%8F%E5%B8%B8%E8%AF%B4%E7%9A%84cpu%E4%B8%8A%E4%B8%8B%E6%96%87%E5%88%87%E6%8D%A2%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D/" title="04|基础篇--经常说的CPU上下文切换是什么意思">04|基础篇--经常说的CPU上下文切换是什么意思</a>
      </h3>
      <div class="post_content summary">
        查看系统上下文切换情况 上下文切换，会把cpu时间消耗在寄存器、内核栈及虚拟内存等数据的保存和恢复上，缩短进程真正的运行时间，成为系统性能大幅下降的一个元凶。
使用vmstat查看上下文切换情况，本工具主要分析系统的内存使用情况。例子每间隔5秒输出一组数据：  cs（context switch）：每秒上下文切换的次数 in（interrupt）：每秒中断的次数 r（Running or Runnable）：就绪队列长度，也就是正在运行和等待cpu运行的进程 b（blocked）：处于不可中断睡眠状态的进程 vmstat给出系统整体的上下文切换情况，pidstat可以查看每个进程的详细情况  间隔5秒输出一组数据：
        
          <span class="hellip">&hellip;</span>
        
      </div>
    </article>
    
    <article class="post content">
      <time datetime="2020-05-27T12:24:00&#43;0800" class="date">Wed, May 27, 2020</time>
      <h3 class="title">
        <a href="https://zsy619.github.io/post/03%E5%9F%BA%E7%A1%80%E7%AF%87%E7%BB%8F%E5%B8%B8%E8%AF%B4%E7%9A%84cpu%E4%B8%8A%E4%B8%8B%E6%96%87%E5%88%87%E6%8D%A2%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D/" title="03|基础篇经常说的CPU上下文切换是什么意思">03|基础篇经常说的CPU上下文切换是什么意思</a>
      </h3>
      <div class="post_content summary">
        CPU上下文切换就是罪魁祸首 任务运行前的准备工作 CPU都要知道任务从哪里加载、从哪里开始运行，需要系统事先设置好CPU寄存器和程序计数器（Program Counter，PC）
 CPU寄存器：CPU内置容量小、速度极快的内存 程序计数器：用来存储CPU正在执行的指令位置、或将执行下一条指令的位置 这就是CPU上下文   CPU上下文切换：把前一个CPU上下文（cpu寄存器及程序计数器）保存起来，然后加载新的任务的上下文到这些寄存器及程序计数器，然后跳转到寄存器及程序计数器所指的位置，运行新的任务 进程、线程是最常见的任务 CPU上下文场景分类：  进程上下文切换 线程上下文切换 中断上下文切换    进程上下文切换 linux特权等级，把进程运行空间分为：内核空间、用户空间
        
          <span class="hellip">&hellip;</span>
        
      </div>
    </article>
    
    <article class="post content">
      <time datetime="2020-05-27T11:40:49&#43;0800" class="date">Wed, May 27, 2020</time>
      <h3 class="title">
        <a href="https://zsy619.github.io/post/02%E5%9F%BA%E7%A1%80%E7%AF%87%E5%88%B0%E5%BA%95%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E7%90%86%E8%A7%A3%E5%B9%B3%E5%9D%87%E8%B4%9F%E8%BD%BD/" title="02|基础篇--到底应该怎么理解平均负载">02|基础篇--到底应该怎么理解平均负载</a>
      </h3>
      <div class="post_content summary">
        什么是平均负载  平均负载(Load Average)：单位时间内，系统处于可运行状态和不可中断状态的平均进程数，也就是平均活跃进程数。 可运行状态的进程：正在使用cpu或等待使用cpu的进程，ps命令查看处于R状态（Running或Runnable）的进程。 不可中断的状态进程：处于内核态关键流程的状态，且这些流程不可打断，ps命令查看处于D状态（Uninterruptible Sleep，也称为Disk Sleep）的进程。 不可中断状态实际是系统对进程和硬件设备的一种保护机制。  $ uptime 14:36 up 5:23, 1 user, load averages: 2.
        
          <span class="hellip">&hellip;</span>
        
      </div>
    </article>
    
    <article class="post content">
      <time datetime="2020-05-27T11:14:53&#43;0800" class="date">Wed, May 27, 2020</time>
      <h3 class="title">
        <a href="https://zsy619.github.io/post/01%E5%A6%82%E4%BD%95%E5%AD%A6%E4%B9%A0linux%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/" title="01|如何学习Linux性能优化">01|如何学习Linux性能优化</a>
      </h3>
      <div class="post_content summary">
        前凑 搭建github.io博客  学习  不需要了解每个组件的所有实现细节 理解他们最基本的工作原理和协助方式  性能指标 应用负载的两个指标：
        
          <span class="hellip">&hellip;</span>
        
      </div>
    </article>
    
    <article class="post content">
      <time datetime="2020-05-27T10:59:53&#43;0800" class="date">Wed, May 27, 2020</time>
      <h3 class="title">
        <a href="https://zsy619.github.io/post/stress%E6%80%A7%E8%83%BD%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/" title="stress性能工具使用">stress性能工具使用</a>
      </h3>
      <div class="post_content summary">
        安装 yum install -y epel-release yum install stress -y 在centos系统下，不能安装，则按照如下方法进行：
        
          <span class="hellip">&hellip;</span>
        
      </div>
    </article>
    
    


<div class="pagination">
  <ul class="pagination_container">
      
        
          <li class="page-item prev to-left">
            <a href="/page/8/" aria-label="Previous" class="page-link">
              <span aria-hidden="true">❮ Prev</span>
            </a>
          </li>
        
        
      
  </ul>
</div>


  </div>
</section>

        <a id="back_to_top" title="Go To Top" href="#">
  <span>
    <svg viewBox="0 0 24 24">
      <path fill="none" d="M0 0h24v24H0z"></path>
      <path d="M12 2L4.5 20.29l.71.71L12 18l6.79 3 .71-.71z"></path>
    </svg>
  </span>
</a>

        <footer id="footer">
  <p>
    <span>&copy; 2021 <a href="https://zsy619.github.io" title="迪克猪的博客">迪克猪的博客</a> </span>
    <span>Built with <a rel="nofollow" target="_blank" href="https://gohugo.io">Hugo</a></span>
    <span>Theme by <a rel="nofollow" target="_blank" href="https://github.com/wayjam/hugo-theme-mixedpaper">WayJam</a></span>
  </p>

  <script src="https://zsy619.github.io/js/main.min.8b182175f5874aeed0acc0979345c98d4bde22208ec4f36cc1d6e3102acb4b10.js" integrity="sha256-ixghdfWHSu7QrMCXk0XJjUveIiCOxPNswdbjECrLSxA=" crossorigin="anonymous" async></script>
</footer>

    </body>
</html>
